﻿using System;

namespace DimensionsHelper.Common.Contracts;

/// <summary>
///     此接口表示实现此接口的类型需要提供报告信息的回调，此类型内不实现报告信息的方法。
/// </summary>
public interface IReport
{
    /// <summary>
    ///     报告信息时需要使用的回调。如果类同时实现了<see cref="IReporter" />，<see cref="IReporter.Log(string, object?[])" />、
    ///     <see cref="IReporter.Warn(string, object?[])" />和<see cref="IReporter.Error(string, object?[])" />这三个方法都应当
    ///     依赖此回调。
    /// </summary>
    event EventHandler<ReportEventArgs> Report;
}